JAVA中final关键字修饰变量的用法及深入解析【建议收藏】 您所在的位置:网站首页 js 静态变量用法有哪些类型和特点 JAVA中final关键字修饰变量的用法及深入解析【建议收藏】

JAVA中final关键字修饰变量的用法及深入解析【建议收藏】

2024-07-09 22:27| 来源: 网络整理| 查看: 265

在学习this()用法的途中,我发现使用private 修饰变量name 时,name会显黄,加上final之后就不会了。在好奇心的驱使下,进一步深入学习final用法。(基础不扎实)

最后查原因是因为IDEA会对私有变量进行特殊显示来提醒开发者的注意,加了final之后可以确保基本变量的值不被修改所以编译就不显黄了。

首先,final关键字用于确保类、方法、变量的值不被修改和继承,确保代码的安全性。其中变量是用的最多的,也是本文讲解的部分。

修饰变量

final修饰变量的作用是使变量不被其他对象引用,并且可以改变第一次引用对象的内容。 好处:在多线程环境下提高线程安全性。 例如下面的例子,如果name被final修饰,则不能继续对name进行赋值,否则报错

public class Test1 { public static void main(String[] args) { final String name = "张三"; name = "李四";//报错 System.out.println(name); } }

也可以不先赋值name,之后赋值

public class Test1 { public static void main(String[] args) { final String name ; name = "张三"; System.out.println(name); } }

输出:张三

深入探讨

——1.final修饰的变量和常规变量有什么区别?—— 先看例子:

public class Test1 { public static void main(String[] args) { String hello = "hello"; final String hello1 = "hello"; String helloWorld = "helloworld"; String x = hello+"world"; String y = hello1+"world"; System.out.println(helloWorld==x); System.out.println(helloWorld==y); } }

先思考下 3 2 1 答案:false true 为什么? 因为final修饰了变量hello1,编译器会自动优化将hello1看作hello这个常量,(前提一定是知道final变量值!!!),所以(hello1+“world”==“helloworld”)为true。

——2.被final修饰的引用变量的对象的内容可以改变——

public class Test1 { public static void main(String[] args) { final Test2 test2 = new Test2(); System.out.println(++test2.i); } } class Test2{ public int i =0; }

输出:1 可以看出final修饰的引用变量的对象的内容是可以改变的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有